home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
gnu
/
gawk
/
gawk213s.zoo
/
gawk-src-2.13
/
atari
/
textrd.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-06-02
|
652b
|
31 lines
/*
* From gnulib Atari ST sources - with a fix for a bug causing
* a premature EOF when only characters read are CR's.
* Written by Eric R. Smith and placed in the public domain.
* Fix - Michal Jaegermann, June 1991.
*/
#include <stdio.h>
#include <unistd.h>
int
_text_read(fd, buf, nbytes)
int fd;
char *buf;
int nbytes;
{
char *to, *from;
int r;
do {
r = read(fd, buf, nbytes);
if (r <= 0) /* if EOF or read error - return */
return r;
to = from = buf;
do {
if (*from == '\r')
from++;
else
*to++ = *from++;
} while (--r);
} while (buf == to); /* only '\r's? - try to read next nbytes */
return (to - buf);
}